Modern data processing systems are often implemented as distributed computing environments, such as "client/server" configurations in which a number of client computers, typically personal computers or workstations, communicate with one or more "server" computers and request server computers to perform processing tasks.
Distributing objects among client and server computers allows server computers to perform processing tasks that would otherwise have to be all performed by a client computer. Consequently, distributing objects generally improves system performance.
Known client/server systems use business logic objects, and distribute business logic objects between client and server computers. Business logic objects are programs that can be used and accessed by multiple applications to perform functions, such as retrieving data from files and undertaking table manipulations (i.e., updates, deletions, calculations, and the like). Other functions performed by business logic objects include calculating a price of an item and determining if a customer has enough credit remaining.
Unknown in the art is a client server system that allows users to distribute other types of objects, such as database tables and batch applications, to different or new locations. Batch applications are programs that normally process data without user interaction.
Distribution of objects such as batch applications and database tables results in greater system performance because more processing tasks may be assigned to computers that are more available or more efficient at processing those tasks. Additionally, such distribution reduces expensive system or application redesign when the number of server computers in the system is increased. This is because, if database tables and batch applications cannot be distributed to a new location, then these objects generally cannot be placed or created on a new server without reprogramming existing applications. If these objects can be distributed, they can be placed on new servers as needed without reprogramming existing applications.
Also unknown in the art is a system that allows a distribution of an object to take effect while applications are running. Specifically, if an application is open (executing) while the location of an object is changed, known systems require that the application be closed (terminated) and reopened in order for the application to receive data regarding the location change. Therefore, it is desirable to have a system that allows location changes to be known without having to close and reopen applications.
Furthermore, unknown in the art is a client/server system that allows objects to be accessed at different sites for different users and that allows access to objects to be limited to certain users or applications. Therefore, it is desirable to have a client/server system that allows for such user-specific distribution.